
// type 和 interface的写法差别---- type 后面是要加等号的
type Product = {}

interface Product2 {
    name: string
    price: number
    account: number
}

let p: Product2 = {
    name: '123',
    price: 12,
    account: 5
}

// 可索引签名--针对未知属性
interface Product3 {
    name: string
    price: number
    account: number
    [x:string]:any
    [y:number]:any
    [z:symbol]:any
}

let p2:Product3= {
    name: 'ok',
    price: 12,
    account: 13,
    descri1:'ok',
    12:16
}

interface listen {
    add(): void;
    remove(): void;
}
// 这里的 void 表示 add 和 remove 方法在调用后不会返回任何值。
export {}